package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import util.ConexionBD;
import excepcion.DAOExcepcion;
import modelo.mAdministrador;
import modelo.mSabio;

public class daoAdministrador {
  
  public mAdministrador logUser(mAdministrador mAd) throws DAOExcepcion{
    String resultado = "";
    String query = "select idAdministrador, txNombre from administrador where txEmail = ? and txContrasena = ? and inEliminar = 0";
    Connection con = null;
    PreparedStatement stmt = null;
    ResultSet rs = null;
    try {
      con = ConexionBD.obtenerConexion();
      stmt = con.prepareStatement(query);
      stmt.setString(1, mAd.getEmail());
      stmt.setString(2, mAd.getPwd());
      
      rs = stmt.executeQuery();
      if (rs.next()) {
    	mAd.setIdAdministrador(rs.getInt(1));
        resultado = rs.getString(2);
        mAd.setNombre(resultado);
      }

    } catch (SQLException e) {
      System.err.println(e.getMessage());
      throw new DAOExcepcion(e.getMessage());
    } finally {
      /*this.cerrarResultSet(rs);
      this.cerrarStatement(stmt);
      this.cerrarConexion(con);*/
    }
    return mAd;
  }
  
  public int validaEmail(String email) throws DAOExcepcion{
    int resultado = 0;
    String query = "select count(txEmail) from sabio where txEmail = ?";
    Connection con = null;
    PreparedStatement stmt = null;
    ResultSet rs = null;
    try {
      con = ConexionBD.obtenerConexion();
      stmt = con.prepareStatement(query);
      stmt.setString(1, email);
      
      rs = stmt.executeQuery();
      if (rs.next()) {
        resultado = rs.getInt(1);
      }

    } catch (SQLException e) {
      System.err.println(e.getMessage());
      throw new DAOExcepcion(e.getMessage());
    } finally {
      /*this.cerrarResultSet(rs);
      this.cerrarStatement(stmt);
      this.cerrarConexion(con);*/
    }
    return resultado;
  }
}
